#include "ap\ap_comm.h"

#include "ds_ref_container.h"

template<class T>
class A {
public:
   template<class T2>
   BOOL operator == (const A<T2> &op) const { return a == op.a; }

   int a;
};

class TA {
   void *alloc  (int size) { return NULL; } 
   int b;
};

class TB {
   void *alloc  (int size) { return (void*)1; } 
};

DECLARE_REF_GLOBALS(TA, char, TRUE)

/*void test_func(void) {
   A<TA> a;
   A<TB> b;

   BOOL res = a == b;

   dsREF_CONTAINER<TA, char, TRUE> c;
   dsREF_CONTAINER<TA, char, TRUE> d;
   c.Attach(d);

   TA *hdr = c;
   //dsREF_CONTAINER<TA, char, TRUE>::HEADER *h = (dsREF_CONTAINER<TA, char, TRUE>::HEADER*)hdr;
};*/